;(function (a, b) {
    function h(a, b) {
        var c = a.createElement('p'),
            d = a.getElementsByTagName('head')[0] || a.documentElement
        return (
            (c.innerHTML = 'x<style>' + b + '</style>'), d.insertBefore(c.lastChild, d.firstChild)
        )
    }
    function i() {
        var a = l.elements
        return typeof a == 'string' ? a.split(' ') : a
    }
    function j(a) {
        var b = {},
            c = a.createElement,
            f = a.createDocumentFragment,
            g = f()
        ;(a.createElement = function (a) {
            if (!l.shivMethods) return c(a)
            var f
            return (
                b[a]
                    ? (f = b[a].cloneNode())
                    : e.test(a)
                    ? (f = (b[a] = c(a)).cloneNode())
                    : (f = c(a)),
                f.canHaveChildren && !d.test(a) ? g.appendChild(f) : f
            )
        }),
            (a.createDocumentFragment = Function(
                'h,f',
                'return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(' +
                    i()
                        .join()
                        .replace(/\w+/g, function (a) {
                            return c(a), g.createElement(a), 'c("' + a + '")'
                        }) +
                    ');return n}'
            )(l, g))
    }
    function k(a) {
        var b
        return a.documentShived
            ? a
            : (l.shivCSS &&
                  !f &&
                  (b = !!h(
                      a,
                      'article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}'
                  )),
              g || (b = !j(a)),
              b && (a.documentShived = b),
              a)
    }
    var c = a.html5 || {},
        d = /^<|^(?:button|form|map|select|textarea|object|iframe|option|optgroup)$/i,
        e =
            /^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,
        f,
        g
    ;(function () {
        var c = b.createElement('a')
        ;(c.innerHTML = '<xyz></xyz>'),
            (f = 'hidden' in c),
            f &&
                typeof injectElementWithStyles == 'function' &&
                injectElementWithStyles('#modernizr{}', function (b) {
                    ;(b.hidden = !0),
                        (f =
                            (a.getComputedStyle ? getComputedStyle(b, null) : b.currentStyle)
                                .display == 'none')
                }),
            (g =
                c.childNodes.length == 1 ||
                (function () {
                    try {
                        b.createElement('a')
                    } catch (a) {
                        return !0
                    }
                    var c = b.createDocumentFragment()
                    return (
                        typeof c.cloneNode == 'undefined' ||
                        typeof c.createDocumentFragment == 'undefined' ||
                        typeof c.createElement == 'undefined'
                    )
                })())
    })()
    var l = {
        elements:
            c.elements ||
            'abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video',
        shivCSS: c.shivCSS !== !1,
        shivMethods: c.shivMethods !== !1,
        type: 'default',
        shivDocument: k,
    }
    ;(a.html5 = l), k(b)
})(this, document)
